package com.tfjybj.itoo.exam.provider.service;

import com.tfjybj.itoo.exam.model.*;

import java.util.List;
import java.util.Map;

/**

 * @Author: 王雪芬
 * @Description: 随堂小练学生端
 * @Date: Created in 9:09 2019/1/27
 */
public interface  PracticeStudentService {

    /**
     * 根据学生学号查询实习系统正在进行的考试（小练）
     * @author 谷海涛
     * @since 2019年7月7日21:07:35
     * @param studentCode
     * @return
     */
    List<ExamineeModel> selectLittlePractice(String studentCode);

    /**
     * 根据学生id查询正在进行的考试（小练）
     * @author 于云秀
     * @since 2019年1月27日11:43:35
     * @param userId
     * @return
     */
    List<ExaminationModel> selectNowExam(String userId);
    /**
     * 根据学生学号，考试类型和考试状态查询学号对应的课程名称、考试名称、考试成绩
     * @param studentId
     * @param examType
     * @param examState
     * @author 杨月娥-2019年1月27日
     * @return
     */
    Map<String,List<StudentScoreLittlePracticeModel>> selectStudentScoreByStudentIdExam(String studentId, int examType, int examState);

    /**
     * 根据考生ID和考场ID和判分状态查询对应的题型名称和题干
     * @param examineeId
     * @param examinationId
     * @author 杨月娥-2019年1月27日
     * @return
     */
    Map<String,List<PaperRecordModel>> selectExamQuestionTypeAndQuestionContent(String examineeId, String examinationId);
    /**
     * 目前考试答题（小练）
     * @author 王雪芬
     * @since 2019年1月27日11:43:35
     * @param userId
     * @return
     */
    Map<String,List<ExaminationModel>> selectNowExamQuestion(String userId);

    /**
     * 目前考试答题（小练）
     * @author 谷海涛
     * @since 2019年7月18日
     * @param studentCode
     * @return
     */

    // List<ExaminationModel> queryPracticeNowExamQuestion(String studentCode);
    Map<String,List<ExaminationModel>> queryPracticeNowExamQuestion(String studentCode);

    Map<String, List<PracticeTeacherModel>>  selectStudentScoreBystudentId(String studentId, int examType, int examState);

    //改状态汇总成绩
    boolean sumExamIdScore(String examineeId, String examinationId);

    //不改状态汇总成绩-谷海涛
    boolean sumExamIdScorePra(String examineeId, String examinationId);

    boolean getExamineeStatus(String examineeId, String examinationId);

    /**
     * 根据学号查询所有成绩，实习系统（小练）
     * @author 谷海涛
     * @since 2019年7月24日11:32:30
     * @param studentCode
     * @return
     */

    Map<String, List<StudentScoreLittlePracticeModel>> selectStudentScoreByStudentCode(String studentCode);
}
